--函数
function hanshu()
end

a=function()
end

--无参无返回值
function F1()
	print("F1")
end
F1()

F2=function()
	print("F2")
end
F2()

--有参
function F3(a)
	print("参数"..a)
end
F3("F3")

--有返回值
function F4(a)
	return a
end

temp=F4("F4")
print(temp)

--多返回值
function F5(a)
	return a,"1",23
end
--通过多值接取
temp_1,temp_2,temp_3=F5("F5")
print(temp_1)
print(temp_2)
print(temp_3)

--函数类型(function)
F6=function()
	print("F6")
end

print(type(F6))

--函数的重载
--不支持 
--调用最后声明的函数

--变长参数
--变长参数要用一个表存储
function F7(...)
	arg={...}
	for i=1,#arg do
		print(arg[i])
	end
end
F7(1,2,"123")

--函数嵌套
function F8()
	return function()
		print("F8")
	end
end

--用f8存储返回值再调用内部的嵌套函数
f8=F8()
f8()

function F9(x)
	return function(y)
		return x+y
	end
end

f10=F9(10)
print(f10(5))